package redis_ser

import (
	"giv-vue-blog/global"
	"giv-vue-blog/utils"
	"time"
)

const prefix = "logout_"

// Logout 针对redis注销的操作
func Logout(token string, diff time.Duration) error {
	err := global.Redis.Set(prefix+token, "", diff).Err() //只要执行注销操作，会将token加一个前缀直接以key的形式写入到redis中，并在两小时后过期
	return err
}

// CheckLogout 检查token是否失效
func CheckLogout(token string) bool {
	//拿到token就判断token是否在redis中 如果在redis中，则代表该token已失效
	keys := global.Redis.Keys(prefix + "*").Val()
	if utils.InList(prefix+token, keys) {
		return true
	}
	return false
}
